# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Stefan Tatschner <stefan@rumpelsepp.org>
# Contributor: katt <magunasu.b97@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - removed makedepend on pandoc

pkgname=yt-dlp
pkgver=2024.08.06
pkgrel=1
pkgdesc='A youtube-dl fork with additional features and fixes'
arch=(any)
url='https://github.com/yt-dlp/yt-dlp'
license=(Unlicense)
depends=(python
         python-certifi
         python-requests
         python-urllib3)
makedepends=(python-build
             python-hatchling
             python-installer)
checkdepends=(python-pytest)
optdepends=('ffmpeg: for video post-processing'
            'rtmpdump: for rtmp streams support'
            'atomicparsley: for embedding thumbnails into m4a files'
            'aria2: for using aria2 as external downloader'
            'python-mutagen: for embedding thumbnail in certain formats'
            'python-pycryptodome: for decrypting AES-128 HLS streams and various other data'
            'python-pycryptodomex: for decrypting AES-128 HLS streams and various other data'
            'python-websockets: for downloading over websocket'
            'python-brotli: brotli content encoding support'
            'python-brotlicffi: brotli content encoding support'
            'python-xattr: for writing xattr metadata'
            'python-pyxattr: for writing xattr metadata (alternative option)'
            'phantomjs: for extractors with javascript code'
            'python-secretstorage: For -cookies-from-browser to access the GNOME keyring while decrypting cookies of Chromium-based browsers')
source=($pkgname-$pkgver.tar.gz::https://github.com/yt-dlp/yt-dlp/releases/download/$pkgver/yt-dlp.tar.gz)
sha256sums=('e08331fb9a36eba56b4efd074b5b25fbf08413e9cb47009a28ecbffe47150310')

build() {
  cd $pkgname
  python -m build --wheel --no-isolation
}

check() {
  cd $pkgname
  pytest -v -m "not download"
}

package() {
  cd $pkgname
  python -m installer --destdir="$pkgdir" dist/*.whl
}
